package com.smile.commons.gps.domain.kml;


import com.smile.commons.gps.domain.MappingTypeReq;
import com.smile.commons.gps.domain.PointActionReq;
import com.smile.commons.gps.domain.WaypointHeadingReq;
import com.smile.commons.gps.domain.WaypointTurnReq;
import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * 航线文件
 */
@Data
public class KmlParams {

    /**
     * 0相对起飞点高度 1相对地面高度 2绝对高度
     */
    private Integer airlineHeightType;

    /**
     * 快速正射映射使能
     */
    private Integer quickOrthoMappingEnable;

    /**
     *  高效飞行模式使能
     */
    private Integer efficiencyFlightModeEnable;

    /**
     *  是否设置注视场景
     */
    private Integer isLookAtSceneSet;

    /**
     *  立面航线使能
     */
    private Integer facadeWaylineEnable;


    /**
     * 执行失控动作
     */
    private String executeRCLostAction;

    /**
     * 航线类型
     */
    private String templateType;

    /**
     * 无人机类型
     */
    private Integer droneType;

    /**
     * 无人机子类型
     */
    private Integer subDroneType;

    /**
     * 负载类型
     */
    private Integer payloadType;

    /**
     * 负载挂载位置
     */
    private Integer payloadPosition;

    /**
     * 航线结束动作
     */
    private String finishAction;

    /**
     * 失控动作
     */
    private String exitOnRcLostAction;


    /**
     * 遥控器失联时退出动作
     */
    private String exitOnRcLost;
    /**
     * 起飞参考点地面高度
     */
    private String takeOffRefPointAGLHeight;
    /**
     * 航线避让限制区模式
     */
    private Integer waylineAvoidLimitAreaMode;
    /**
     * 参考起飞点
     */
    private String takeOffRefPoint;

    /**
     * 全局航点转弯模式
     */
    private WaypointTurnReq waypointTurnReq;

    /**
     * 全局航线高度
     */
    private BigDecimal globalHeight;

    /**
     * 全局偏航角模式
     */
    private WaypointHeadingReq waypointHeadingReq;

    /**
     * 云台俯仰角控制模式
     */
    private String gimbalPitchMode;

    /**
     * 全局航线飞行速度
     */
    private BigDecimal autoFlightSpeed;

    /**
     * 负载图片存储类型
     */
    private String imageFormat;

    /**
     * 建图航拍、倾斜摄影、航带飞行模板参数
     */
    private MappingTypeReq mappingTypeReq;

    /**
     * 航点列表
     */
    private List<RoutePointInfo> routePointList;

    /**
     * 航线初始动作列表
     */
    private List<PointActionReq> startActionList;

    /**
     * 被摄面海拔高度
     */
    private BigDecimal globalShootHeight;
}

